/*
 * FinishedQ.h
 *
 *  Created on: Nov 21, 2013
 *      Author: sickan
 */

#ifndef FINISHEDQ_H_
#define FINISHEDQ_H_

#include "Process.h"
#include <list>
#include <stdio.h>
#include <queue>
#include <pthread.h>

class FinishedQ {
public:
	virtual ~FinishedQ();
	static FinishedQ* getInstance();
	void add(Process* p);
	int getFinishedQSize();
	void displaySummary();
private:
	pthread_mutex_t finishQMutex;
	std::list<Process*> queue;
	FinishedQ();
	static FinishedQ* instance;
};

#endif /* FINISHEDQ_H_ */
